/* Little library of output functions. GCW 02/03/94 */

#ifndef _io_vdu
#define _io_vdu 1
#endif

vdu(s)
{
 local out,i;
 out = fopen("rawvdu:","w");
 for(i=0;i<sizeof(s);putc(s[i++],out));
 fclose(out);
}

mode(n)
{ vdu(""+22+n); }

tab_to(x,y)
{ vdu(""+31+x+y); }

colour(n)
{ vdu(""+17+n); }

gcol(k,n)
{ vdu(""+18+k+n); }

clg()
{ vdu(""+16); }

cls()
{ vdu(""+12); }

plot(k,x,y)
{ vdu(""+25+k+(x%256)+(x/256)+(y%256)+(y/256)); }

move(x,y)
{ plot(4,x,y); }

line(x1,y1,x2,y2)
{
 move(x1,y1);
 plot(5,x2,y2);
}

point(x,y)
{ plot(69,x,y); }

circle(x,y,r)
{
 move(x,y);
 plot(145,r,0);
}

circlefill(x,y,r)
{
 move(x,y);
 plot(153,r,0);
}

rectangle(x,y,w,h)
{
 move(x,y);
 plot(97,w,h);
}

cursor(n)
{
 vdu(""+23+1+(n%256)+(n/256));
}


// Now add your own.
 